Scheduling for power savings in a wireless network

ABSTRACT

In a wireless network, a wireless device may dynamically estimate how long it can remain in a sleep mode without missing out on a necessary opportunities to communicate within the network. In some embodiments, this estimate may be based on a combination of things such as the amount of data still queued up for transmission, recent history on data rates, a prediction on how long it will take another device (e.g., an access point) to accumulate enough data for another transmission, and/or how long the queued-up data can wait before it becomes stale.

BACKGROUND

Mobile wireless devices in wireless networks usually depend on a batteryfor their operating power. To extend the time that the devices arecapable of operating between battery charges, the devices may resort tosleep periods (i.e., periods of non-operation, at least for the radiocircuits, when the battery drain is greatly reduced). During a sleepperiod the data to be communicated to/from the device may be queued upuntil the device is operational again. Knowing how long to sleep(without obsoleting and/or missing necessary data) may be problematiceven in fairly simple systems. However, the complexity of modem networkcommunications and the mixture of different data types in a network(e.g., text, video, voice-over-IP, etc.), makes it difficult todetermine a balance between saving more power (which may be achievedwith longer sleep periods) and not obsoleting and/or missing necessarydata (which may be achieved with shorter sleep periods).

BRIEF DESCRIPTION OF THE DRAWINGS

Some embodiments of the invention may be understood by referring to thefollowing description and accompanying drawings that are used toillustrate embodiments of the invention. In the drawings:

FIG. 1 shows two devices in a wireless network according to anembodiment of the invention.

FIG. 2 shows a flow diagram of a method of dynamically determining asleep interval based on downlink communications, according to anembodiment of the invention.

FIG. 3 shows a flow diagram of a method of dynamically determining asleep interval based on uplink communications, according to anembodiment of the invention.

DETAILED DESCRIPTION

In the following description, numerous specific details are set forth.However, it is understood that embodiments of the invention may bepracticed without these specific details. In other instances, well-knowncircuits, structures and techniques have not been shown in detail inorder not to obscure an understanding of this description.

References to “one embodiment”, “an embodiment”, “example embodiment”,“various embodiments”, etc., indicate that the embodiment(s) of theinvention so described may include particular features, structures, orcharacteristics, but not every embodiment necessarily includes theparticular features, structures, or characteristics. Further, someembodiments may have some, all, or none of the features described forother embodiments.

In the following description and claims, the terms “coupled” and“connected,” along with their derivatives, may be used. It should beunderstood that these terms are not intended as synonyms for each other.Rather, in particular embodiments, “connected” is used to indicate thattwo or more elements are in direct physical or electrical contact witheach other. “Coupled” is used to indicate that two or more elementsco-operate or interact with each other, but they may or may not be indirect physical or electrical contact.

As used in the claims, unless otherwise specified the use of the ordinaladjectives “first”, “second”, “third”, etc., to describe a commonelement, merely indicate that different instances of like elements arebeing referred to, and are not intended to imply that the elements sodescribed must be in a given sequence, either temporally, spatially, inranking, or in any other manner.

Various embodiments of the invention may be implemented in one or anycombination of hardware, firmware, and software. The invention may alsobe implemented as instructions contained in or on a machine-readablemedium, which may be read and executed by one or more processors toenable performance of the operations described herein. Amachine-readable medium may include any mechanism for storing,transmitting, and/or receiving information in a form readable by amachine (e.g., a computer). For example, a machine-readable medium mayinclude a storage medium, such as but not limited to read only memory(ROM); random access memory (RAM); magnetic disk storage media; opticalstorage media; a flash memory device, etc. A machine-readable medium mayalso include a propagated signal which has been modulated to encode theinstructions, such as but not limited to electromagnetic, optical, oracoustical carrier wave signals.

The term “wireless” and its derivatives may be used to describecircuits, devices, systems, methods, techniques, communicationschannels, etc., that communicate data by using modulated electromagneticradiation through a non-solid medium. The term does not imply that theassociated devices do not contain any wires, although in someembodiments they might not. The term “mobile wireless device” is used todescribe a wireless device that can be in motion while it iscommunicating.

Some embodiments of the invention may dynamically adjust a sleepinterval for a mobile wireless communications device (subsequentlycalled a STA in this document), based on various operational factorssuch as the actual or estimated amount of data to be communicated. Insome operations the goal of this adjustment is to make the sleepinterval as long as is feasible without a significant chance of losingor obsoleting data in the communications exchange because the STA wasasleep. ‘Asleep’, ‘sleep mode’, and related variations of the term‘sleep’ refer to a mode in which the signal processing circuitry of theSTA goes into a non-operational low power mode to reduce overall powerconsumption. In some embodiments other portions of the STA may remain inan operating mode during the sleep mode, but other embodiments may useother techniques. The techniques described herein may be especiallybeneficial when used in conjunction with a network protocol commonlyknown as Unscheduled Advanced Power Saving Delivery (U-APSD).

In some embodiments the STA may determine its sleep interval based onestimated downlink transmissions to be received from an access point orother centralized network control node. In other embodiments the STA maydetermine its sleep interval based on estimated uplink transmissions tobe transmitted from the STA to the centralized network control node. Instill other embodiments the STA may determine its sleep interval basedon a combination of uplink and downlink considerations.

FIG. 1 shows two devices in a wireless network according to anembodiment of the invention. In the illustrated network 100, a mobilewireless device 110 (STA) may communicate wirelessly with centralizednetwork controller 180 (AP) through their respective antennas 116 and186. The STA may be any of multiple types of wireless devices, such asbut not limited to a wireless personal computer (PC), a personal dataassistant (PDA), etc. The STA is shown with a signal processing circuit(SPC) 120 that may convert digital data into signals suitable for radiofrequency (RF) transmission, and may also convert received RF signalsinto digital data suitable for processing by digital circuitry. In someembodiments the SPC 120 may include such things as RF circuitry,baseband circuitry, and a digital signal processor (DSP), although otherembodiments may include other combinations. A buffer 130 may hold datafor subsequent conversion/transmission by the SPC 120, and/or may holddata that has been received and converted through the SPC 120 forsubsequent processing by application processor 140. In some embodimentsthe buffer 130 may comprise a transmit queue and/or a receive queue.

STA 110 may also include a battery 160 to provide operating power tovarious parts of the STA. In the illustrated embodiment, power controlcircuit 150 may control whether SPC 120 is in a low-power sleep mode, afull-power operating mode, or some other intermediate power mode, basedon control signals from the application processor that may be based atleast in part on the data communicated between the STA and AP. Otherparts of the STA may also have various modes of power consumption andoperating status, which may be controlled by the power control circuit150 and/or one or more other power control circuits (not shown).

The AP is shown with a transmit queue 185, in which it may place data tobe transmitted to the STA and/or other STAs. Both the STA 110 and the AP180 may have other circuits, which have not been shown because they arenot considered key to an understanding of the various embodiments of theinvention.

FIG. 2 shows a flow diagram of a method of dynamically determining asleep interval for a wireless communications device based on downlinkcommunications, according to an embodiment of the invention. Forconvenience and improved understanding, the following acronyms andmeanings are used in the discussion of FIG. 2, but the embodiments ofthe invention should not be limited to devices using these acronyms.Note: although these parameters may be used in the STA to determine asleep interval for the STA, the transmit queue referred to in thesedefinitions is the AP's transmit queue. The relevant information aboutthe AP transmit queue may be communicated to the STA through anyfeasible means.

-   SI—Sleep Interval. The duration of time during which the SPC is in a    non-operational low power mode. Separate sleep intervals may have    different durations. In some embodiments other circuits may also be    in a low-power mode during the sleep interval.-   MAXFD—Maximum Flow Delay. This is the maximum time allowed for a    communications flow. In some embodiments this number will be    specified in a Traffic Specification (TSPEC) provided by the AP for    the STA. For operations in which the AP does not provide a value for    MAXFD, a reasonable value may be determined by the STA (e.g., 200    milliseconds for a particular usage).-   CAD—Channel Access Delay, based on historic efforts to gain channel    access. Channel access delay is the time it takes the STA to gain    access to the channel, once the STA starts trying to gain access to    the channel. CAD may include such variable delays as waiting for a    clear channel, contending for access to the medium, retrying the    access if the access fails, etc. The current value of CAD may be    based on the most recent access, or may be based on a mathematical    treatment of multiple recent accesses (e.g., an average of the five    most recent access delays).-   ECAD—Estimated Channel Access Delay. This is an artificially    increased version of the value of CAD. In some operations ECAD may    be determined by multiplying CAD by a constant (e.g., a constant    ‘C’) that is greater than 1. In other embodiments ECAD may be set as    a fraction of MAXFD. The STA must acquire access to the channel    before it can begin performing the next data exchange, but this    acquisition time may be highly variable. ECAD provides a time    ‘cushion’, so that most accesses will take place within the ECAD    time period. In some embodiments the value of ECAD may be adjusted    periodically, based on parameters such as what fraction of accesses    actually take longer than the ECAD time period.-   EDEXQ—Estimated Delay to Empty Transmit Queue. When the AP still has    data to transmit at the end of the previous transmit opportunity    (TXOP), an estimate may be made of the time it will take the AP to    clear that data out of the transmit queue by actually transmitting    it.-   DSXQ—Desired Size of Transmit Queue. To make efficient use of the    burst nature of communicating over a shared channel, larger bursts    of data may be more efficient for the overall network, and provide    higher network throughput, than smaller bursts. However, excessively    large bursts may cause other throughput problems, such as loss of    time-critical data by other devices. Based on these and other    factors, a desired size of burst may be determined, and an amount of    data in the transmit queue that is equivalent to this burst size is    defined as DSXQ.-   ETADXQS—Estimated Time to Accumulate Desired Transmit Queue Size.    This is the estimated time it will take for the AP to accumulate    enough data in the transmit queue to equal the DSXQ value. In some    embodiments, ETADXQS may=(DSXQ−the current queue size) divided by    the rate of arrival of the data, and the rate of arrival of the data    may=(the amount of data transmitted+(queue size at end−queue size at    the start)), divided by the time interval, but other embodiments may    use other techniques to calculate ETADXQS.-   TDXQBS—Time till Data in Transmit Queue Becomes Stale. In some    operations, time-critical data (e.g., streaming video data) in the    transmit queue has an expiration time. If the data is not    transmitted by that expiration time, the data becomes useless for    its intended purpose (i.e., becomes ‘stale’), and may be discarded    by either the transmitting device before it can be transmitted, or    by the receiving device after reception. TDXQBS is the time    remaining until that expiration time. This is a dynamic number that    varies depending on the time-critical data in the transmit queue. If    there are multiple expiration times in the transmit queue, the    shortest time may be used. In some operations the AP communicates    this value to the STA, and the STA may then use this value in some    of its calculations. In other types of operations this value is    unknown to the STA, and therefore cannot be used by the STA in its    calculations. In this latter case, the STA may immediately access    the channel without going to sleep (for example, by treating TDXQBS    as 0). If the transmit queue is empty, TDXQBS may be equal to MAXFD.

Referring again to FIG. 2, flow diagram 200 shows operations that may beperformed in a STA. At 210, the STA may complete its currentcommunications sequence with another wireless device, and prepare forentering a sleep mode in which its SPC will be placed in a low powernon-operational state. In some embodiments that communications sequencemay be defined as a TXOP, but other embodiments may use othertechniques. To determine how long the STA will be in the sleep mode, itdetermines a number of parameters at 220. As stated in the acronymdefinitions above, MAXFD may be predetermined, while ECAD may beproduced by multiplying CAD by a constant that is greater than 1. EDEXQ,DSXQ, TADXQS, and EADXQS may be determined by examining variousoperational factors, such as but not limited to transmission data rate,variability of transmission data rate, variability of CAD, networkcapacity, recent network throughput, operational parameters specified bythe AP, etc. Once all the necessary factors have been determined throughmonitoring, calculation, etc., the critical parameters that determinethe sleep interval may be derived.

At 230, it's determined whether the transmit queue 185 is empty and at235 it's determined whether TDXQBS is known to the STA. Three cases maybe considered:

1. If the transmit queue is empty, then the sleep interval SI may bedetermined at 240 as 1) MAXFD−ECAD, or 2) ETADXQS−ECAD, whichever issmaller.

2. If the transmit queue is not empty and TDXQBS is known to the STA,then the sleep interval SI may be determined at 250 as 1) TDXQBS−ECAD,or 2) ETADXQS−ECAD, whichever is smallest.

3. If the transmit queue is not empty and TDXQBS is not known to theSTA, then the STA may immediately access the channel and try to downloadthe data without going to sleep. SI is essentially zero with thisoption.

For the first two cases, the STA may enter the sleep mode at 260 andremain in sleep mode for the duration of the calculated SI, unless thesleep mode is interrupted by some external event not covered in thisdiscussion. For the third case, there essentially is no non-zero sleepinterval, as shown at 270.

After the STA wakes up at the end of the SI, it may establishcommunications with the AP, complete those communications, and repeatthe operations of FIG. 2 to determine the duration of the next sleepinterval.

Although the previous description assumes the STA completes acommunications sequence (e.g., a TXOP) before determining the next valuefor SI, some embodiments may perform all or part of these calculationsbefore the end of that communications sequence. However, performingthese calculations while data is still being exchanged during the TXOPmay produce less dependable results, since some of the parameters mightnot be based on complete information and/or the most recent information.

FIG. 3 shows a flow diagram of a method of dynamically determining asleep interval for a wireless communications device based on uplinkcommunications, according to an embodiment of the invention. Forconvenience and improved understanding, the following acronyms andmeanings are used in the discussion of FIG. 3, but the embodiments ofthe invention should not be limited to devices using these acronyms.Note: although the definitions for FIG. 2 referred to the transmit queuein the AP, the definitions for FIG. 3 refer to the transmit queue in theSTA.

-   CAD and ECAD—Same definitions that were used for these terms for    FIG. 2, except that when deriving ECAD in this instance, CAD may be    multiplied by a different constant than was used in the description    for FIG. 2.-   DSMXQ—Desired Size of My Transmit Queue. As previously described for    DSXQ, data in the transmit queue may be allowed to build up until it    reaches a preferred size for transmission. Since this transmit queue    is in the STA rather than the AP, a different acronym is used to    distinguish between the two transmit queues.-   CQS—Current Queue Size. This reflects the amount of data currently    in the transmit queue of the STA.-   TDMXQBS—Time till Data in My Transmit Queue Become Stale. Similar to    the previously described TDXQBS for FIG. 2, but the ‘M’ in the name    refers to ‘my’ transmit queue, i.e., the transmit queue in the STA.    This is a dynamic number that varies depending on the particular    time-critical data in the current transmit queue. If there is no    time-critical data in the queue, any sleep interval based on TDMXQBS    may be eliminated or ignored.

Flow diagram 300 shows operations that may be performed in a STA. At310, the STA may complete its current communications sequence withanother wireless device, and prepare for entering a sleep mode in whichits SPC may be in a non-operational low power state. In some embodimentsthis communications sequence may be a TXOP, but other embodiments mayuse other techniques. At 320, values for DSMXQ, TDMXQBS, and ECAD may bedetermined. At 330 the sleep interval is set to equal TDMXQBS minusECAD, and the STA may enter the sleep mode at 340. If there is notime-critical data in the transmit queue, so that TDMXQBS cannot becalculated a reasonable sleep interval may be used instead.

Although the SPC portion of the STA may be in a non-operational stateduring the sleep mode, an applications processor or other processor inthe STA may continue to operate. Among other things, this processor maycontinue placing data into the transmit queue at 360, the data in thetransmit queue to be transmitted at a later time. This may continueuntil either 1) the sleep interval expires, as determined at 350, or 2)the sleep interval is prematurely terminated at 370 because the amountof data CQS in the transmit queue reaches or exceeds the desired queuesize DSMXQ. In either case, after the STA wakes up at 380, it mayacquire the channel and then transmit from the transmit queue at 390.

The previous paragraphs have described determining one sleep intervalbased on downlink communications, and another separate sleep intervalbased on uplink communications. But in some embodiments these may becombined, and a single sleep interval determined by considering bothuplink and downlink traffic. For example, after determining these twosleep intervals independently, the sleep interval actually used may bethe shortest of the two.

The foregoing description is intended to be illustrative and notlimiting. Variations will occur to those of skill in the art. Thosevariations are intended to be included in the various embodiments of theinvention, which are limited only by the spirit and scope of thefollowing claims.

1. A method, comprising determining a sleep interval for a firstcommunications device, the first communications device to communicatewirelessly with a second communications device in a wireless network,wherein the sleep interval is based at least partly on at least one of:an estimated delay for a flow between the first and secondcommunications devices; an estimated channel access delay for the firstcommunications device; an estimated time for a predetermined amount ofdata to accumulate in a transmit queue; an estimated time to transmitdata remaining in the transmit queue after a previous communicationssequence; a time until some of the data in the transmit queue becomesstale; and a length of a transmit opportunity.
 2. The method of claim 1,wherein the sleep interval is based at least partly on the estimatedtime for the predetermined amount of data to accumulate in the transmitqueue of the second device, minus the estimated channel access delay. 3.The method of claim 1, wherein the sleep interval is based at leastpartly on the estimated time to transmit the data remaining in thetransmit queue of the second device after the previous communicationssequence, minus the estimated channel access delay.
 4. The method ofclaim 1, wherein the sleep interval is based at least partly on the timeuntil some of the data in the transmit queue of the second devicebecomes stale, minus the estimated channel access delay.
 5. The methodof claim 1, wherein the predetermined amount of data is based at leastpartly on the length of the transmit opportunity.
 6. The method of claim1, wherein a new sleep interval is determined for each of multipletransmit opportunities.
 7. The method of claim 1, wherein the transmitqueue is a transmit queue of the first communications device.
 8. Themethod of claim 7, wherein the sleep interval may be ended when theamount of data in the transmit queue reaches a particular level.
 9. Anapparatus comprising a first communications device comprising: aprocessor; a signal processing circuit coupled to the processor tocommunicate wirelessly with a second communications device; a powercontrol circuit coupled to the processor and the signal processingcircuit, the power control circuit to place the signal processingcircuit into a low power non-operational mode for certain periods oftime; wherein each of the certain periods of time are based at leastpartly on at least one of an estimated channel access delay for thefirst communications device; an estimated time for a predeterminedamount of data to accumulate in a transmit queue in the secondcommunications device; an estimated time to transmit data remaining inthe transmit queue after a previous communications sequence; a timeuntil some of the data in the transmit queue becomes stale; and a lengthof a transmit opportunity.
 10. The apparatus of claim 9, wherein the atleast one of the certain periods of time is based at least partly on theestimated time for the predetermined amount of data to accumulate in thetransmit queue, minus the estimated channel access delay.
 11. Theapparatus of claim 9, wherein the at least one of the certain periods oftime is based at least partly on the estimated time to transmit the dataremaining in the transmit queue of the second device after the previouscommunications sequence, minus the estimated channel access delay. 12.The apparatus of claim 9, wherein the at least one of the certainperiods of time is based at least partly on the time until some of thedata in the transmit queue of the second device becomes stale, minus theestimated channel access delay.
 13. The apparatus of claim 9, whereinthe predetermined amount of data is based at least partly on the lengthof the transmit opportunity.
 14. The apparatus of claim 9, wherein a newcertain period of time is determined for each of multiple transmitopportunities.
 15. The apparatus of claim 9, further comprising abattery coupled to the signal processing circuit.
 16. An articlecomprising a tangible machine-readable medium that containsinstructions, which when executed by one or more processors result inperforming operations comprising: determining a sleep interval for afirst communications device, the first communications device tocommunicate wirelessly with a second communications device in a wirelessnetwork, wherein the sleep interval is based at least partly on at leastone of: an estimated delay for a flow between the first and secondcommunications devices; an estimated channel access delay for the firstcommunications device; an estimated time for a predetermined amount ofdata to accumulate in a transmit queue; an estimated time to transmitdata remaining in the transmit queue after a previous communicationssequence; a time until some of the data in the transmit queue becomesstale; and a length of a transmit opportunity.
 17. The article of claim16, wherein the sleep interval is based at least partly on the estimatedtime for the predetermined amount of data to accumulate in the transmitqueue of the second device, minus the estimated channel access delay.18. The article of claim 16, wherein the sleep interval is based atleast partly on the estimated time to transmit the data remaining in thetransmit queue of the second device after the previous communicationssequence, minus the estimated channel access delay.
 19. The article ofclaim 16, wherein the sleep interval is based at least partly on thetime until some of the data in the transmit queue of the second devicebecomes stale, minus the estimated channel access delay.
 20. The articleof claim 16, wherein the predetermined amount of data is based at leastpartly on the length of the transmit opportunity.
 21. The article ofclaim 16, wherein the operations include determining a new sleepinterval for each of multiple transmit opportunities.
 22. The article ofclaim 16, wherein the transmit queue is a transmit queue of the firstcommunications device.
 23. The article of claim 22, wherein theoperations include ending the sleep interval when the amount of data inthe transmit queue reaches a particular level.